package com.fushenlan.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * @Author XUJIN
 * @DATE 2022/4/21
 * @PACKAGE_NAME com.fushenlan.po
 * @VERSION 1.0
 * 居民信息表实体，对应表inhabitant_info
 */

@Data
@NoArgsConstructor
@Accessors(chain = true)
public class InhabitantInfo implements Serializable {

    /**
     * 表主键
     */
    private Long id;

    /**
     * 家庭成员id,如果是同一家庭的，则值为填写人id,如果无家庭成员则为0
     */
    @TableField("familyId")
    private Integer familyId;

    /**
     * 姓名
     */
    @TableField("userName")
    private String userName;

    /**
     * 证件类型: 1 身份证 2 护照 3 港澳通行证 4 台胞证  5 士官证  6 学生证 7 其他证件
     */
    @TableField("identifyType")
    private Integer identifyType;

    /**
     * 证件号码
     */
    @TableField("identifyNo")
    private String identifyNo;

    /**
     * 手机号码
     */
    @TableField("phoneNumber")
    private String phoneNumber;

    /**
     * 角色id  对应角色表idz主键，多种角色   多种角色id用逗号隔开
     */
    @TableField("roleId")
    private String roleId;

    /**
     * 人员关系（ 1 本人   2 父母）
     */
    @TableField("relationId")
    private String relationId;

    /**
     * 注册状态   1 是  2 否   默认是2
     */
    private int registered;

    /**
     * 所属居委会id
     */
    @TableField("neighborhoodId")
    private Integer neighborhoodId;

    /**
     * 所属小区
     */
    @TableField("residentialId")
    private Integer residentialId;

    /**
     * 所属楼层
     */
    @TableField("buildingId")
    private Integer buildingId;

    /**
     * 所属房间
     */
    @TableField("houseId")
    private Integer houseId;

    /**
     * 所属房间
     */
    @TableField("streetCode")
    private String streetCode;

    /**
     * 微信openId
     */
    @TableField("openId")
    private String openId;

    /**
     *  数据来源  1 app 2 pc
     */
    @TableField("sourceChannel")
    private Integer sourceChannel;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("createDate")
    private Date createDate;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("updateDate")
    private Date updateDate;

}
